diffeq_errors Module

A collection of routines for handling errors in the DIFFEQ library.


Uses


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), public, parameter :: DIFFEQ_ARRAY_SIZE_ERROR = 10003
integer(kind=int32), public, parameter :: DIFFEQ_INVALID_INPUT_ERROR = 10004
integer(kind=int32), public, parameter :: DIFFEQ_INVALID_OPERATION_ERROR = 10008
integer(kind=int32), public, parameter :: DIFFEQ_ITERATION_COUNT_EXCEEDED_ERROR = 10007
integer(kind=int32), public, parameter :: DIFFEQ_MATRIX_SIZE_ERROR = 10002
integer(kind=int32), public, parameter :: DIFFEQ_MEMORY_ALLOCATION_ERROR = 10000
integer(kind=int32), public, parameter :: DIFFEQ_MISSING_ARGUMENT_ERROR = 10005
integer(kind=int32), public, parameter :: DIFFEQ_NULL_POINTER_ERROR = 10001
integer(kind=int32), public, parameter :: DIFFEQ_STEP_SIZE_TOO_SMALL_ERROR = 10006

Subroutines

public subroutine report_array_size_error(err, fcn, varname, expsize, actsize)

Reports an array size error.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

character(len=*), intent(in) :: varname

The offending variable name.

integer(kind=int32), intent(in) :: expsize

The expected size of the array.

integer(kind=int32), intent(in) :: actsize

The actual size of the array.

public subroutine report_excessive_integration_steps(err, fcn, n, x)

Reports an error when an excessive amount integration steps have been taken.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

integer(kind=int32), intent(in) :: n

The number of integration steps.

real(kind=real64), intent(in) :: x

The value of the independent variable at which the error occurred.

public subroutine report_excessive_iterations(err, fcn, n, x)

Reports an error when excessive iterations have been made.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

integer(kind=int32), intent(in) :: n

The number of iterations.

real(kind=real64), intent(in) :: x

The value of the independent variable at which the error occurred.

public subroutine report_matrix_size_error(err, fcn, varname, exprow, expcol, actrow, actcol)

Reports a matrix size error.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

character(len=*), intent(in) :: varname

The offending variable name.

integer(kind=int32), intent(in) :: exprow

The expected number of rows.

integer(kind=int32), intent(in) :: expcol

The expected number of columns.

integer(kind=int32), intent(in) :: actrow

The actual number of rows.

integer(kind=int32), intent(in) :: actcol

The actual number of columns.

public subroutine report_memory_error(err, fcn, flag)

Reports a memory error.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

integer(kind=int32), intent(in) :: flag

The memory status flag.

public subroutine report_min_array_size_not_met(err, fcn, varname, minsize, actsize)

Reports an error where the minimum array size was not met.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

character(len=*), intent(in) :: varname

The offending variable name.

integer(kind=int32), intent(in) :: minsize

The minimum size of the array.

integer(kind=int32), intent(in) :: actsize

The actual size of the array.

public subroutine report_missing_argument(err, fcn, arg)

Reports a missing argument error.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

character(len=*), intent(in) :: arg

The name of the argument.

public subroutine report_missing_ode(err, fcn)

Reports a missing ODE routine.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

public subroutine report_step_size_too_small(err, fcn, x, h)

Reports an error when the step size becomes too small.

Arguments

Type IntentOptional Attributes Name
class(errors), intent(inout) :: err

The error handling object.

character(len=*), intent(in) :: fcn

The name of the function or subroutine in which the error occurred.

real(kind=real64), intent(in) :: x

The value of the independent variable at which the step size error occurred.

real(kind=real64), intent(in) :: h

The step size value.